cmake_minimum_required(VERSION 3.1.0)

# 设置默认构建类型为 Release，如果没有指定其他类型
if(NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE Release)
endif()

# 添加调试模式的编译选项
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g")

# 添加 Release 模式的优化选项
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3")

set(TargetName Crab_requestPhoto)

# 项目名称和版本
project(${TargetName} VERSION 1.0)

# 设置 C++ 标准
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED True)


# include_directories(./include)

# 定义SRC变量，其值为当前目录下所有的源代码文件
aux_source_directory(. SRC)

# 添加可执行文件
add_executable(${TargetName} ${SRC})
add_compile_options(-Wall)

# 日志中心专用
# # 不创建默认日志、线程安全
# add_definitions(-DELPP_NO_DEFAULT_LOG_FILE -DELPP_THREAD_SAFE)
# # 自己平台编译环境
# add_definitions(-DMyCompileEnvir)

# find_package(PkgConfig REQUIRED)
# pkg_search_module(JSONCPP jsoncpp)

# set()


# Windows 特定设置
if(WIN32)
    # 添加 Windows 特定的库和设置
    target_compile_definitions(${TargetName} PRIVATE WIN32_LEAN_AND_MEAN)
    target_link_libraries(${TargetName} PRIVATE kernel32 user32)
else()
    # Unix/Linux 特定设置
    target_compile_definitions(${TargetName} PRIVATE _GNU_SOURCE)
    target_link_libraries(${TargetName} PRIVATE pthread)
endif()

# 安装目标
install(TARGETS ${TargetName}  DESTINATION bin)

# 可选：设置 CMake 安装时的配置
set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/install")








